The present invention generally relates to instant message communications and more particularly to a system and method for enabling instant message communications between clients that communicate in different instant message protocols.
Instant messaging allows users to communicate in a substantially real-time manner by sending messages between instant message (IM) clients. Typically, in order for a user to send instant messages, the user must download, from an IM provider, an IM client that communicates in a specific IM protocol. Examples of IM clients include IM clients associated with providers such as America On-Line (AOL), Microsoft (MSN Messenger), ICQ, Yahoo!, Jabber, IBM (Lotus Sametime), Wireless Village, etc. Currently, many of the IM clients use different messaging protocols and only communicate with the same type of IM client. As a result, IM clients for different providers are not interoperable. For example, an AOL IM client cannot communicate with a MSN IM client, etc.
One disadvantage of the inoperability among IM clients of different providers is that a user is required to download multiple IM clients from different providers in order to communicate with all users. For example, if a first user uses Yahoo! IM and a second user uses MSN Messenger, the first user must also download and use the MSN Messenger client to communicate with the second user. Additionally, the first user is required to register a new identifier with MSN and for each newly downloaded IM client. Thus, a user will have different identifiers for each downloaded IM client. Downloading and registering multiple IM clients is not only tedious for some users but having multiple IM clients running on a computing device will degrade system performance. Accordingly, because some users do not want to download every single IM client that is available, IM communications between certain users may not be enabled. Thus, the power of instant messaging is not being fully leveraged.
One solution to the above problem of downloading and having multiple IM clients running on a computing device is downloading an aggregator IM client. These aggregators aggregate all presence information for multiple IM clients at the users' computing device and allow a user to communicate through a single IM client interface. This IM client, however, still only allows communication between IM clients from the same provider. Thus, users who use different programs cannot communicate with each other. The aggregator IM client is just an interface that displays presence information for all IM clients in a single interface and allows instant messages for all providers' IM clients to be sent from the single interface. However, users still must register with multiple IM providers and create new identifiers for each provider. Additionally, a new IM client is created in this case. Accordingly, a user cannot use the original IM client to communicate with other users; the new IM client is used instead.
Using the aggregator IM client also includes disadvantages. For example, one disadvantage of using the aggregator IM client is that, in some devices, the IM client provided on the device may be fixed or pre-selected. This is the case in some mobile devices that include pre-installed IM clients. For example, mobile devices offered by a cellular provider may only use an AOL IM client. Additionally, mobile devices typically do not allow the downloading of any other IM clients due to contractual limitations and/or technical reasons. Accordingly, the aggregator IM client cannot be used with mobile devices. Furthermore, mobile devices typically have less computing power than other larger computing devices and thus, running multiple IM clients on a mobile device may not even be feasible if allowed.
In light of the above, what is desired are methods and apparatus for improved instant messaging communications without the drawbacks described above.